package com.sunyur.tailor.channel.web.outer.org.dto;

import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * @ClassName OrgSyncInfoListParam
 * @Description 商越组织信息同步请求实体
 * @Author yu.chen
 * @Date 2021/4/29 3:41
 * @Version v1.0
 */
@Data
public class OrgSyncInfoDTO implements Serializable {

    private static final long serialVersionUID = -7865540612718840528L;

    /**
     * 组织名称
     */
    @NotEmpty(message = "组织名称不能为空")
    @Size(max = 45, message = "组织名称长度不能超过45")
    private String orgName;

    /**
     * 外部系统编码
     */
    @NotEmpty(message = "外部系统编码不能为空")
    @Size(max = 45, message = "外部系统编码长度不能超过45")
    private String orgCode;

    /**
     * 上级组织的外部系统编码
     */
    @NotEmpty(message = "上级组织的外部系统编码不能为空")
    @Size(max = 45, message = "上级组织的外部系统编码长度不能超过45")
    private String parentCode;

    /**
     * 组织编码
     */
    @Size(max = 45, message = "组织编码长度不能超过45")
    private String variableCode;

    /**
     * 级别 {0:部门级,1:公司级}
     */
    @NotNull(message = "级别不能为空")
    @Range(max = 1, min = 0, message = "级别不在0~1范围内")
    private Integer orgType;

    /**
     * 公司主体编码
     */
    @Size(max = 50, message = "公司主体编码长度不能超过50")
    private String companyCode;

    /**
     * 描述
     */
    @Size(max = 150, message = "描述长度不能超过50")
    private String description;
}
